home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 1810 / 1810.xpi / chrome / showcase.jar / content / settings / pref-shortcuts.js < prev    next >
Text File  |  2010-01-17  |  2KB  |  57 lines

  1. function shortcutsPrefInit() {
  2.   var extensionManager;
  3.   var keyconfigExtension;
  4.   var shortcutsPanelDeck = document.getElementById("shortcutsPanelDeck");
  5.   
  6.   
  7.   extensionManager = Components.classes["@mozilla.org/extensions/manager;1"]
  8.                      .getService(Components.interfaces.nsIExtensionManager);
  9.   keyconfigExtension = extensionManager.getItemForID("keyconfig@dorando");
  10.  
  11.   // If it fails, try with old id
  12.   if ((!keyconfigExtension) || (keyconfigExtension.type == 0)) {
  13.     keyconfigExtension = extensionManager.getItemForID("{c8500d90-d72d-11d9-8cd5-0800200c9a66}");
  14.   }
  15.   
  16.  
  17.   if ((!keyconfigExtension) || (keyconfigExtension.type == 0)) {
  18.     shortcutsPanelDeck.setAttribute("selectedIndex", 0);
  19.   } else {
  20.     var xmlDoc = document.implementation.createDocument("", "keyconfig", null);
  21.     xmlDoc.async = false;
  22.     try {
  23.       xmlDoc.load("chrome://keyconfig/content/");
  24.       if (xmlDoc.documentElement) {
  25.         // Enabled
  26.         shortcutsPanelDeck.setAttribute("selectedIndex", 2);
  27.       } else {
  28.         // Disabled
  29.         shortcutsPanelDeck.setAttribute("selectedIndex", 1);
  30.       }
  31.     } catch (e) {
  32.       // Exception while loading, so it's disabled
  33.         shortcutsPanelDeck.setAttribute("selectedIndex", 1);
  34.     }
  35.   }
  36. }
  37.  
  38. function callKeyConfig(createWindowIfNecessary) {
  39.   // Target all windows
  40.   var wm = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService(Components.interfaces.nsIWindowMediator);
  41.   var windowIter = wm.getEnumerator('navigator:browser');
  42.   var keyconfigInvoked = false;
  43.  
  44.   while (windowIter.hasMoreElements() && !keyconfigInvoked) {
  45.     var currentWindow = windowIter.getNext();
  46.     try {
  47.       currentWindow.openDialog('chrome://keyconfig/content/', 'keyconfig', 'resizable');
  48.       keyconfigInvoked = true;
  49.     } catch (e) { }
  50.   }
  51.   
  52.   if (!keyconfigInvoked && createWindowIfNecessary) {
  53.      openURL();
  54.      setTimeout(callKeyConfig, 0, false);
  55.   }
  56. }
  57.